package manejadorDeArchivos;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import org.apache.log4j.Logger;

import scripts.batallasDeRobots.BatallasDeRobots;
import scripts.salidasDeRobots.SalidasDeRobots;

public class EscritorDeArchivos {


	Logger logger = Logger.getLogger( this.getClass());
	private String estructuraScript = "#include core\n#include math\ninclude bots\n"+
	"main() {\n\tfight()\n}\nfight() {\n\tsalida()\n\tbatalla()\n}\n";


	public void generarArchivosScript()
	{  
		BatallasDeRobots batalla = new BatallasDeRobots();
		SalidasDeRobots salida = new SalidasDeRobots();
		int h=1;
		logger.info("Comienza bucle de generacion de scripts");
		for (int i = 1; i <= 8; i = i + 1)
		{
			for(int j = 1; j <= 8; j = j + 1)
			{
				String resSal = salida.procesarSalida(i);
				String resBat = batalla.procesarBatalla(j);
				try {
					FileWriter fw = new FileWriter("robot"+h+".sma");
					BufferedWriter bw = new BufferedWriter(fw);
					PrintWriter textoArchivo = new PrintWriter(bw);
					logger.info(estructuraScript + resSal + resBat);
					textoArchivo.close();
					h++;
				}
				catch(java.io.IOException ioex) {
					logger.error("se presento el error: "+ioex.toString());
				}
				logger.info(resBat);
				logger.info(resSal);
			}
		}	
	}

	public void generarSalidaRobotito(){
		
		try {
			SalidasDeRobots salida = new SalidasDeRobots();
			String resSal = salida.procesarSalida(8);
			
			PrintWriter escribir = new PrintWriter(new BufferedWriter(new FileWriter("robotito.sma")));
			escribir.println(resSal);
			escribir.println();
			
		    escribir.close();
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			logger.debug("ERROR AL QUERER HACER ROBOTITO: " + e.getMessage());
		}
	}








}
